###############################################################################   
#### Replication Materials                                                 #### 
#### Taegyoon Kim, 2022. Violent Political Rhetoric on Twitter.            ####
#### Political Science Research and Methods                                ####
###############################################################################  


###############################################################################
################################### Set Up ####################################
###############################################################################

# packages -------------------------

lapply(
  c('psy', 'irr', 'readxl', 'RCurl', 'tidyverse', 
    'WriteXLS','DescTools','irrCAC','dplyr'),
  require, 
  character.only = TRUE
  )

# load data -------------------------

path_data <- '/kim_psrm_replication/data/' 
path_output <- '/kim_psrm_replication/output/' 

df_icr <- read_csv(paste0(path_data, 'df_icr.csv'), 
                  col_types = cols(X1 = col_skip()))


###############################################################################
################################## Table A3 ###################################
###############################################################################

# pairs of coders -------------------------

c_kappa_1 <- kappa2(df_icr[, c("coder_1", "coder_2")], 
                  weight = "unweighted") # 0.569

c_kappa_2 <- kappa2(df_icr[, c("coder_1", "coder_3")], 
                  weight = "unweighted") # 0.622

c_kappa_3 <- kappa2(df_icr[, c("coder_2", "coder_3")], 
                  weight = "unweighted") # 0.593

# all three coders -------------------------

l_kappa <- kappam.light(df_icr[, c('coder_1', 'coder_2', 'coder_3')]) # 0.595

f_kappa <- kappam.fleiss(df_icr[, c('coder_1', 'coder_2', 'coder_3')]) # 0.597

k_alpha <-krippen.alpha.raw(df_icr[, c('coder_1', 'coder_2', 'coder_3')]) # 0.597

icr <- data.frame(cohen_kappa_coder_1_2 = c_kappa_1$value,
           cohen_kappa_coder_1_3 = c_kappa_2$value,
           cohen_kappa_coder_2_3 = c_kappa_3$value,
           light_kappa = l_kappa$value,
           fless_kappa = f_kappa$value,
           krippendorff_alpha = k_alpha$est[4][,1])
row.names(icr) <- 'score'

write.csv(icr, paste0(path_output, 'tbla3.csv'))